After completing this lesson, you’ll be able to:
FME Flow security is based on whether you own a component or have been given access to it. A component might be a set of functionality or an object like a repository.
When you create something, you have full permission for that component. Even if you don't have permission to manage security on your FME Flow, you do have the ability to share a component that you own with another user.
Generally, sharing works two ways depending on the method:
Choose the menu option for Workspaces in the Flow web interface and you are presented with a list of repositories on the system.
If you are the owner of a repository, then you have the ability to click the button to Share with Others:
This opens a pop-up dialog in which to select a user and choose the level of permission that you wish to give to them:
FME Security is also based on users and roles. Roles are analogous to a group of users. When sharing a component, the "user" field can be an individual user, or it can be applied to a particular role; for example, you can give the ability to run workspaces in a repository to anyone in the fmeuser role.
Sharing a repository is an excellent option for sharing workspaces with other users who also have access to FME Flow, but what if you want to allow anyone to be able to submit a job without needing to have an account on FME Flow?
This can be accomplished using FME Flow Apps. You can create a Workspace App by clicking on Flow Apps from the FME Flow Menu:
To manage FME Flow Apps, click on Manage Workspace Apps. From here, you can manage all your existing apps and create new ones.
When creating a new Workspace App, you will be able to select which workspace you would like your app to run and also set an expiration date for the app. This is useful if you would like to temporarily share the app, then disable it after a set period of time.
Next, you can select which Published Parameters you would like to be displayed for your end-users to set when they use your Workspace App:
And finally, you can customize the appearance of your Flow App by changing the background color and adding logos, icons, and banners.
An FME Flow Workspace App URL will then be generated. Anyone with that URL will be able to run the app that you created without having to log into FME Flow first.
The FME Flow Workspace App link will open a simplified Run Workspace page:
While FME Flow Apps allow other people to run a workspace on FME Flow, a Webhook allows for an application to programmatically run a workspace. A Webhook URL will include all the workspace parameters directly in the URL itself. So, when the URL is triggered, it will immediately run the workspace without the need to prompt for those parameter values.
Webhooks are useful for building your own web applications that access FME Flow services because you can copy the HTTP request and embed it on your own website or a 3rd party application. You could also embed the URL into an email, or paste the URL directly into a web browser.
You can create a Webhook URL from the Run Workspace page for any workspace. Once you have selected your workspace to run, click on Workspace Actions > Create Webhook or go to the Advanced parameters and select Create a Webhook from there.
You will then be able to configure your Webhook. You can set an expiry time to control how long the URL will be active for and also decide what values should be filled in for any Published Parameters associated with the workspace.
When finished, your Webhook URL will be generated and you will be able to download a text file containing the Webhook information and see some examples of how to use the Webhook within 3rd party or custom applications.
In more advanced use cases, you can also share the results of workspaces with users that don't have an FME Flow account using the FME Flow REST API. You can make an API call to FME Flow to run a workspace and include the results in your external applications.